package example.cloudsitefeign.client;

import example.cloudsitefeign.dto.CommonResultDTO;
import example.cloudsitefeign.dto.SiteInfoDTO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;

@FeignClient(name = "cloud-site-management", fallback = example.cloudsitefeign.client.fallback.SiteManagementClientFallback.class) // 指定要调用的服务名，与Consul中注册的服务名一致
public interface SiteManagementClient {

    @GetMapping("/siteInfo/{id}") // 对应 cloud-site-management 服务中的端点路径
    CommonResultDTO<SiteInfoDTO> getSiteInfoById(@PathVariable("id") Long id);

    // 注意：如果 cloud-site-management 模块中 SiteInfoController 类上定义了 @RequestMapping("/some-prefix")，
    // 那么这里的 @GetMapping 路径需要相应地调整为 "/some-prefix/siteInfo/{id}"。
    // 根据我们之前的调试，cloud-site-management 的 Controller 应该没有额外的类级别前缀，
    // 所以 "/siteInfo/{id}" 应该是正确的。
}
